Typed Collections ব্যবহার

Java Technologies - অ্যাপাচি কমন্স কালেকশনস (Apache Common Collection) Apache Commons Collections এর সাথে Generics |
139
139

Apache Commons Collections লাইব্রেরি Typed Collections সরবরাহ করে যা কোলেকশনগুলিতে টাইপ সেফটি (type safety) নিশ্চিত করে। টাইপ সেফটি নিশ্চিত করার মাধ্যমে আপনি কোলেকশনগুলির উপাদানগুলির টাইপ সম্পর্কে নিশ্চিত হতে পারেন, যা রানটাইমে সম্ভাব্য ClassCastException থেকে রক্ষা করে। Typed Collections কোলেকশনের উপাদানগুলির জন্য একটি নির্দিষ্ট টাইপের অনুমতি দেয় এবং এইভাবে কোলেকশনগুলির উপর নির্ভরযোগ্য কাজ করতে সাহায্য করে।

এটি সাধারণত TypedCollection ইন্টারফেস এবং TypedList, TypedSet ইত্যাদি কোলেকশন ইমপ্লিমেন্টেশন দ্বারা সরবরাহ করা হয়, যেখানে কোলেকশনের উপাদানগুলির টাইপ নির্দিষ্ট করা হয়। এই ফিচারটি কোলেকশন ব্যবহারের সময় টাইপ সংক্রান্ত ভুল থেকে বিরত থাকতে সহায়ক।


১. Typed Collections কী?

Typed Collections এমন কোলেকশন যা কেবল একটি নির্দিষ্ট টাইপের উপাদান ধারণ করে। এই কোলেকশনগুলির সাহায্যে, আপনি generics এর মতো টাইপ চেকিং সুবিধা লাভ করেন এবং এতে টাইপ সম্পর্কিত runtime errors কমে যায়। Apache Commons Collections-এ, টাইপ সেফটি নিশ্চিত করার জন্য TypedCollection, TypedList, TypedSet ইত্যাদি ক্লাস ব্যবহার করা হয়।

টাইপ সেফ কোলেকশন তৈরি করার সময় আপনি কেবল নির্দিষ্ট ধরনের উপাদানকে কোলেকশনে যোগ করতে পারবেন। যদি আপনি একটি ভিন্ন ধরনের উপাদান যুক্ত করার চেষ্টা করেন, তবে এটি কম্পাইল টাইমে একটি এরর সৃষ্টি করবে।


২. Typed Collections ব্যবহার করার সুবিধা

  • টাইপ সেফটি: টাইপ সেফ কোলেকশনে আপনি একটি নির্দিষ্ট ধরনের উপাদান ছাড়া অন্য কিছু যোগ করতে পারবেন না, যা টাইপ সম্পর্কিত ত্রুটি প্রতিরোধ করে।
  • কমপাইল টাইম চেক: কোলেকশন তৈরি করার সময় যদি আপনি ভুল টাইপের উপাদান যুক্ত করার চেষ্টা করেন, তবে কম্পাইলারই ত্রুটি (error) দেখাবে।
  • রানটাইম ত্রুটি কমানো: টাইপ চেকিংয়ের কারণে, রানটাইমে ClassCastException ত্রুটির সম্ভাবনা কমে যায়।

৩. Typed Collections ব্যবহারের উদাহরণ

Apache Commons Collections লাইব্রেরিতে TypedCollections এর ব্যবহার বেশ সহজ এবং নির্দিষ্ট টাইপের উপাদানগুলির সাথে কাজ করার জন্য খুবই কার্যকরী।

৩.১ TypedList ব্যবহার

import org.apache.commons.collections4.ListValuedMap;
import org.apache.commons.collections4.list.TypedList;
import org.apache.commons.collections4.ListValuedMap;
import java.util.ArrayList;
import java.util.List;

public class TypedCollectionsExample {
    public static void main(String[] args) {
        // Create a TypedList that only accepts Strings
        List<String> typedList = new ArrayList<>();
        
        typedList.add("apple");
        typedList.add("banana");
        
        // Uncommenting the next line would cause a compile-time error
        // typedList.add(42);  // Error: Incompatible types
        
        System.out.println("Typed List: " + typedList);
    }
}

এখানে:

  • TypedList তৈরি করা হয়েছে যা কেবল String টাইপের উপাদানসমূহ গ্রহণ করবে।
  • typedList.add(42) এই লাইনটি কম্পাইল টাইমে এরর ঘটাবে, কারণ 42 একটি Integer এবং এটি String টাইপের কোলেকশনে যোগ করা সম্ভব নয়।

৩.২ TypedSet ব্যবহার

import org.apache.commons.collections4.SetValuedMap;
import org.apache.commons.collections4.set.TypedSet;
import java.util.Set;
import java.util.HashSet;

public class TypedSetExample {
    public static void main(String[] args) {
        // Create a TypedSet that only accepts Strings
        Set<String> typedSet = new HashSet<>();
        
        typedSet.add("apple");
        typedSet.add("banana");
        
        // Uncommenting the next line would cause a compile-time error
        // typedSet.add(42);  // Error: Incompatible types
        
        System.out.println("Typed Set: " + typedSet);
    }
}

এখানে:

  • TypedSet তৈরি করা হয়েছে যা কেবল String টাইপের উপাদানসমূহ গ্রহণ করবে।
  • typedSet.add(42) এই লাইনটি কম্পাইল টাইমে এরর ঘটাবে, কারণ 42 একটি Integer এবং এটি String টাইপের কোলেকশনে যোগ করা সম্ভব নয়।

৩.৩ TypedCollections এবং Type Safety

টাইপ সেফটি নিশ্চিত করার জন্য, আপনি TypedCollection, TypedList, বা TypedSet ব্যবহার করে কেবল একটি নির্দিষ্ট টাইপের উপাদানগুলিকে অনুমোদন করতে পারেন, যেমন:

import org.apache.commons.collections4.TypedCollection;
import java.util.ArrayList;

public class TypedCollectionExample {
    public static void main(String[] args) {
        // Create a TypedCollection for Integers
        TypedCollection<Integer> typedCollection = new ArrayList<>();
        
        typedCollection.add(10);
        typedCollection.add(20);
        
        // Uncommenting the next line would cause a compile-time error
        // typedCollection.add("apple");  // Error: Incompatible types
        
        System.out.println("Typed Collection: " + typedCollection);
    }
}

এখানে:

  • TypedCollection তৈরি করা হয়েছে যা কেবল Integer টাইপের উপাদান গ্রহণ করবে।
  • typedCollection.add("apple") এই লাইনটি কম্পাইল টাইমে এরর ঘটাবে, কারণ "apple" একটি String এবং এটি Integer টাইপের কোলেকশনে যোগ করা যাবে না।

৪. Typed Collections-এর অন্যান্য ব্যবহার এবং প্রয়োগ

Typed Collections ব্যবহার করার মাধ্যমে আপনি টাইপ সেফ কোলেকশন ম্যানিপুলেশন করতে পারেন। কিছু সাধারণ ব্যবহার:

  • TypedList: একাধিক List কোলেকশনে শুধুমাত্র একটি নির্দিষ্ট টাইপের উপাদান যোগ করা।
  • TypedSet: শুধুমাত্র নির্দিষ্ট টাইপের ইউনিক (unique) উপাদান সংরক্ষণ করতে ব্যবহার করা।
  • TypedMap: Map কোলেকশনে শুধুমাত্র নির্দিষ্ট টাইপের কী এবং মান সংরক্ষণ করতে ব্যবহার করা।

৫. Apache Commons Collections লাইব্রেরি অন্তর্ভুক্ত করা

আপনি যদি Typed Collections ব্যবহার করতে চান, তবে আপনাকে Apache Commons Collections লাইব্রেরিটি আপনার প্রোজেক্টে অন্তর্ভুক্ত করতে হবে। যদি আপনি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করতে হবে:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

এটি Apache Commons Collections লাইব্রেরি আপনার প্রোজেক্টে যোগ করবে, যার মাধ্যমে আপনি Typed Collections এবং অন্যান্য কার্যকারিতা ব্যবহার করতে পারবেন।


সারাংশ

Typed Collections হল Apache Commons Collections লাইব্রেরির একটি শক্তিশালী ফিচার যা টাইপ সেফটি নিশ্চিত করে কোলেকশনগুলির উপাদানগুলির জন্য নির্দিষ্ট টাইপ ব্যবহার করতে সহায়তা করে। TypedList, TypedSet, এবং TypedCollection ইত্যাদি কোলেকশনগুলির মাধ্যমে, আপনি কেবল একটি নির্দিষ্ট টাইপের উপাদান কোলেকশনে সংরক্ষণ করতে পারবেন এবং টাইপ সংক্রান্ত ত্রুটির ঝুঁকি কমাতে পারবেন। এটি কোলেকশন ব্যবহারের সময় টাইপ ভুল এবং ClassCastException থেকে সুরক্ষা প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion